package com.hjk.common.advice;


import com.hjk.common.model.vo.ExceptionResult;
import com.hjk.common.response.exception.HjkException;
import lombok.extern.slf4j.Slf4j;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.bind.annotation.ExceptionHandler;

/**
 * @author hjk
 * @date 2019/10/4 0004 -- 20:04
 */
@Slf4j
@ControllerAdvice
public class CommonExceptionHandler {
    /**
     * 获取抛出的异常  所有自定义抛出的异常都在这里,抛到浏览器!!
     *
     * @param e 异常
     * @return 异常状态码 和异常信息
     */
    @ExceptionHandler(HjkException.class)
    public ResponseEntity<ExceptionResult> handleException(HjkException e) {

        //获取发生异常的状态码 和 信息结果集 发送到客户端浏览器
        return ResponseEntity.status(e.getExceptionEnum().getCode()).body(new ExceptionResult(e.getExceptionEnum()));
    }

    // GlobalExceptionHandler.java


}
